Organizations and individuals want to manage and deliver video content to a variety of viewing devices. For example, video content is regularly viewed by consumers using computers with video playback software or a web browser, mobile computing devices such as smart phones and hand-held media players, tablet computing devices, and televisions. In many cases, these organizations and individuals need to manage and deliver video content for internal organizational needs, such as to support sales and marketing, and to provide corporate communications easily and cost-effectively. The manner of delivering video content in some cases depends on the accessibility of network resources. Two examples of video content delivery include streaming video content data from a content server to a content client, and store and forward delivery of video content from a content server to a content storing device that forwards the video content to the viewing device. However, delivery of video content by streaming is different from store and forward delivery of video content. The delivery differences are problematic for those who want the flexibility to decide whether to stream video content or download the video content for future playback.
The differences in delivery of video content relate to a variety of factors, including network accessibility and speed, user preference, video provider preference, etc. In terms of network accessibility, for example, video content can be streamed to a viewing device when there is a persistent Internet connection available, but may fail if the Internet connection was not persistent. As many viewing devices connect to a corporate network that provides access to the Internet, other factors may be involved. For instance, the video content cannot always be streamed to the viewing device, due to inconsistent or only periodic Internet access, such as when upgrades are occurring on the internal network. Moreover, a user of the viewing device may wish to simply delay playback of the video content instead of viewing the video content contemporaneously with a request for the video content. In this case, playback of the video content is delayed (i.e., occurs at some time after downloading the video content) by choice, not technical or hardware limitations. Typically, preparing the video content for delayed playback involves delivering the video content to a store-and-forward computing device, such as a media player, which stores the video content for local playback by the viewing device. Therefore, because the video content is stored locally by the media player, which is accessible to the viewing device, playback of the video is possible without a simultaneous connection to the Internet.
The available systems for delivering video content are typically designed to deliver video by only one of the two mechanisms, that is, by streaming or by store and forward delivery (e.g., for local playback later). None of the prior systems deliver video using these two different mechanisms simultaneously. Therefore, it has been necessary for users of these prior systems to acquire and use two separate, unrelated solutions to deliver streaming video and at the same time publish video for local playback. This made the process of video delivery using these two mechanisms costly, cumbersome and error-prone, requiring one-off custom solutions to support integrated work flows. In addition, the prior systems made it impossible to use a single reporting system to track key metrics such as where video content was being displayed and who was viewing the content. Moreover, the prior video delivery systems made it impossible to use third party solutions, such as ad-insertion networks and analytic tools, from a single point of integration.
Thus, what is needed is a way to deliver, at approximately the same time, video content by (i) streaming the video content and (ii) transmitting the video content by store and forward delivery of the video content. The video delivery solution should also provide a unified report generation system for tracking and reporting on video content distribution.